草庐IT

php - __construct 的可见性

全部标签

php - 通过 php domdocument 解析器获取文档元素的子元素

好吧,这是一个非常常见的xml解析方法,获取子节点,但它对我来说不起作用......我无法从我的根元素中获取子节点数组,但当它们有子节点时我可以从任何其他节点获取它,这不是问题。每当我从这个文档元素中获取子节点时,我似乎只能获取第一个子节点。我需要从文档元素中获取所有第一级节点..$xdoc=createDOMDocument($file);$all_children=$xdoc->documentElement->childNodes;echocount($all_children);functioncreateDOMDocument($file){$xdoc=newDOMDocum

php - 如果 XML 文件为空,则捕获 PHP 错误

所以我从XML文件中获取一些信息,如下所示:$url="http://myurl.blah";$xml=simplexml_load_file($url);除了有时XML文件是空的并且我需要代码优雅地失败但我似乎无法弄清楚如何捕获PHP错误。我试过这个:if(isset(simplexml_load_file($url)));{$xml=simplexml_load_file($url);/*restofcodeusing$xml*/}else{echo"Noinfoavilable.";}但它不起作用。我猜你不能那样使用ISSET。有人知道如何捕获错误吗?

php - 无法在 PHPStorm 10.0.1 中为 artisan 制作命令行工具

当我尝试为artisan创建别名时收到此错误消息:[设置|工具|命令行工具支持]->添加->基于Symfony控制台的工具问题Failedtoparseoutputasxml:Erroronline4:Contentisnotallowedinprolog..命令C:\xampp\php\php.exeC:\xampp\htdocs\laratest\artisanlist--xml输出[Symfony\Component\Console\Exception\RuntimeException]The"--xml"optiondoesnotexist.好的,我知道这是什么问题,但我找不到

php - 通过 HTTP 发送大文件

我有一个PHP客户端,它通过HTTP请求XML文件(即通过URL加载XML文件)。到目前为止,XML文件的大小只有几KB。我可以预见的一个问题是XML的大小会变成几MB或Gb。我知道这是一个很大的问题,可能有无数种解决方案,但是您有什么想法可以将这些数据传输到客户端?谢谢! 最佳答案 根据您的用例,我肯定会建议先压缩数据。此外,您可能希望在开始下载之前对文件进行md5散列并进行比较(如果文件没有更改则无需更新),这将有助于第2点。另外,是否可以只发送一段XML而不是整个文件? 关于php

php - 使用 XMLWriter 跟踪 namespace 声明

我正在开发XML网络服务(使用PHP!),为了“正确”地做事,我想使用XMLWriter而不是仅仅连接字符串并希望获得最佳结果。我使用->startElementNS和->writeElementNS在任何地方使用XML命名空间。问题是,每次我使用这些函数时,都会写入一个新的命名空间声明。虽然这是正确的语法,但有点不必要。我想确保我的namespace声明仅在第一次用于文档上下文时写入。有没有一种简单的方法可以使用XMLWriter来解决这个问题,或者我是否坚持将其子类化并手动管理它。谢谢,埃弗特 最佳答案 您可以在文档中的所需位置

php - 检查文件是否存在,不存在则创建

我如何使用phpdom检查xml文件是否存在,如果不存在则创建它。load('sample.xml');$newAct=$_POST['activity'];$root=$xmldoc->firstChild;$newElement=$xmldoc->createElement('activity');$root->appendChild($newElement);$newText=$xmldoc->createTextNode($newAct);$newElement->appendChild($newText);$xmldoc->save('sample.xml');?>现在,因为

PHP Xml 属性解析

我正在解析XML当前使用:$data=simplexml_load_string($xmlFile);foreach($data->itemas$key=>$current){echo($current);}但是我想知道,如果点击一个看起来像这样的元素:我如何拉动它的内部零件?(高度、网址、宽度)谢谢! 最佳答案 foreach($data->item->thumbnailas$thumbnail){$url=$thumbnail['url'];$height=$thumbnail['height'];$width=$thumbna

php - 停止处理并评估 foreach 循环中的下一个值

我正在尝试使用php搜索和检查数据库中可用的重复详细信息。用户输入几个姓名,然后输入电话号码以检查重复项。下面是我的功能。由于太长,我只是裁剪了一些部分。functiongtc($names,$phone){$pageNumb=20;$position=array(5);$sepname=explode(",","$names");foreach($sepnameas$sepname1){for($page=0;$pageloadHTML($result);$xpath=newDOMXPath($dom);$elements=$xpath->evaluate("//div[@id='i

php - Magento- 在第 59 行的 ~/container.php 中的非对象上调用成员函数 setSaveParametersInSession()

我正在使用Magento1.5,尝试从Magento后端访问“客户->管理客户”时收到fatalerror消息。错误详情:CalltoamemberfunctionsetSaveParametersInSession()onanon-objectin/my_domain.com/public_html/app/code/core/Mage/Adminhtml/Block/Widget/Grid/Container.phponline59这是Magento卡住的Container.php中的和平代码protectedfunction_prepareLayout(){$this->setC

php - 在 PHP 中解析大型 XML

我需要在PHP中解析相当大的XML(例如300MB)。我怎样才能最有效地做到这一点?特别是,我需要定位特定标签并将其内容提取到一个平面TXT文件中,仅此而已。 最佳答案 您可以使用老式SAX-basedparsing以block的形式读取和解析XML使用PHP的方法xmlparserfunctions.使用这种方法,您可以解析的文档大小没有真正的限制,因为您一次只需读取和解析一个满缓冲区。解析器将触发事件以指示它已找到标签、数据等。有一个simpleexampl手册中的e显示了如何获取标签的开始和结束。为了您的目的,您可能还想使用x